﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BR_CruzDelSur;
using BR_CruzDelSur.Interfaces;
using System.Web.Services;
using BE_CruzDelSur;
using System.Web.UI.HtmlControls;

namespace WebCruzDelSur
{
    public partial class ActualizarProgramacionRuta : System.Web.UI.Page
    {
        IBR_Carga carga = new BR_Carga();
        IBR_Cliente cliente = new BR_Cliente();
        IBR_Producto producto = new BR_Producto();
        IBR_Util util = new BR_Util();
        IBR_ProgramacionRuta programacionRuta = new BR_ProgramacionRuta();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (HttpContext.Current.Session["Usuario"] == null)
            {
                String message = "Debe autenticarse en el sistema. ";
                String strJavascriptFunctions = "";
                strJavascriptFunctions = "ShowMessageError('" + message + "');";
                ClientScript.RegisterStartupScript(this.GetType(), "Alerta", strJavascriptFunctions, true);
                return;
            }

            if (!Page.IsPostBack)
            {
                int codigoProgramacionRuta = util.f_intValor(Request.QueryString["codigoProgramacionRuta"].ToString());

                BE_ProgramacionRuta pr = programacionRuta.f_BuscaProgramacionXCodigo(codigoProgramacionRuta);

                if (pr == null)
                    return;

                //CALCULADOS POR RUTA
                //txtFechaLlegada.Text = pr.FechaDestino;
                //txtHoraLlegada.Text = pr.HoraDestino;
                txtFechaLlegadaFinal.Value = pr.FechaDestino + " " + pr.HoraDestino;
                txtFechaPartidaFinal.Value = pr.FechaOrigen + " " + pr.HoraOrigen;
                txtFechaPartida.Text = pr.FechaOrigen;                
                txtHoraPartida.Text = pr.HoraOrigen;
                txtObservaciones.Text = pr.Observaciones;
                txtCodigoProgramacionRuta.Value = pr.IDRutaProgramada.ToString();
                txtCodigoBus.Value = pr.IDVehiculo.ToString();
                txtCodigoConductorPrincipal.Value = pr.IDConductorPrincipal.ToString();
                txtCodigoConductorReemplazo.Value = pr.IDConductorReemplazo.ToString();
                txtCodigoRuta.Value = pr.IDRuta.ToString();
                lblEstado.Text = pr.Estado;
            }
        }        

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            //DateTime fechaLlegada = f_datetimeValor(txtFechaLlegada.Text + " " + txtHoraLlegada.Text);
            DateTime fechaLlegada = util.f_datetimeValor(txtFechaLlegadaFinal.Value);
            //DateTime fechaPartida = util.f_datetimeValor(txtFechaPartida.Text + " " + txtHoraLlegada.Text);
            DateTime fechaPartida = util.f_datetimeValor(txtFechaPartidaFinal.Value);
            string observacion = txtObservaciones.Text;
            int programacionRutaID = util.f_intValor(txtCodigoProgramacionRuta.Value);
            int codigoConductorPrincipal = util.f_intValor(txtCodigoConductorPrincipal.Value);
            int codigoConductorReemplazo = util.f_intValor(txtCodigoConductorReemplazo.Value);
            int codigoBus = util.f_intValor(txtCodigoBus.Value);
            int codigoRuta = util.f_intValor(txtCodigoRuta.Value);

            BE_ProgramacionRuta entidad = programacionRuta.f_ActualizarProgramacionRuta(programacionRutaID, codigoRuta, fechaPartida, fechaLlegada, codigoConductorPrincipal, codigoConductorReemplazo, codigoBus, observacion);
            
            String message = "";
            String strJavascriptFunctions = "";
            if (entidad.MensajeError == "")
                message = "Registro Actualizado Correctamente. ";
            else
                message = entidad.MensajeError;
            
            strJavascriptFunctions = "ShowMessageJustAlert('" + message + "');";
            ClientScript.RegisterStartupScript(this.GetType(), "Alerta", strJavascriptFunctions, true);
        }

        protected void btnRegresar_Click(object sender, EventArgs e)
        {
            Response.Redirect("BuscarProgramacionRuta.aspx");
        }
    }
}